package com.wuming.caiwu.core;

/**
 * 理赔状态
 * Created by hanfei on 16/5/10.
 */
public enum StudentClaimOrderStatus {
    /**
     * 待理赔
     */
    WAIT_CLAIM(0,"待理赔"),
    /**
     * 草稿
     */
    DRAFT(1, "草稿"),

    /**
     * 审核中
     */
    CHECKING(2, "审核中"),

    /**
     * 初审不通过
     */
    CHECK_FAIL(3, "初审不通过"),

    /**
     * 初审通过
     */
    CHECK_PASS(4, "初审通过"),

    /**
     * 保险公司审核不通过
     */
    INSURED_CHECK_FAIL(5, "保险公司审核不通过"),

    /**
     * 保险公司审核通过
     */
    INSURED_CHECK_PASS(6, "保险公司审核通过"),

    /**
     * 保险公司打款中
     */
    INSURED_FUNDING(7, "保险公司打款中"),

    /**
     * 保险公司打款失败
     */
    INSURED_FUND_FAIL(8, "保险公司打款失败"),

    /**
     * 已结案
     */
    CLAIM_CLOSED(9, "已结案"),

    /**
     * 材料问题重提 审核中
     */
    MATERIALS_ERROR_CHECKING(10, "材料问题重提 审核中"),

    /**
     *  122账户问题重提 审核中
     */
    ACCOUNT_122_ERROR_CHECKING(11, "122账户问题重提 审核中"),

    /**
     * 收款账户问题 审核中
     */
    CASH_ACCOUNT_ERROR_CHECKING(12, "收款账户问题 审核中"),

    /**
     * 加急处理中
     */
    HURRIED_CHECKING(13, "加急处理中"),

    /**
     * 拒赔结案
     */
    REFUSE_CLAIM(14, "拒赔结案"),

    /**
     * 考试截图中
     */
    EXAM_SNIPPING(15, "考试截图中"),

    /**
     * 考试截图失败
     */
    EXAM_SNIPPING_FAIL(16, "考试截图失败"),

    /**
     * 考试截图信息错误
     */
    EXAM_INFO_ERROR(17, "考试截图信息错误"),

    /**
     * 考试截图成功审核中
     */
    EXAM_SUCCESS_CHECK(18, "考试截图成功审核中"),

    /**
     * 渠道退回
     */
    CHANNEL_CHECK_FAIL(19, "渠道退回"),

    /**
     * 保险公司审核中
     */
    COMPANY_CHECK_ING(20, "保险公司审核中"),

    /**
     * 风险账户
     */
    RISK_ACCOUNT(21, "风险账户");

    private int value;
    private String desc;

    private StudentClaimOrderStatus(int value, String desc) {
        this.setValue(value);
        this.setDesc(desc);
    }

    public static Integer getStatusValueByDesc(String desc){
        StudentClaimOrderStatus[] claimOrderStatus = values();
        for (StudentClaimOrderStatus status: claimOrderStatus
             ) {
            if(status.getDesc().equalsIgnoreCase(desc)){
                return status.getValue();
            }
        }
        return null;
    }

    public static String getDescByStatusValue(Integer value){
        StudentClaimOrderStatus[] claimOrderStatus = values();
        for (StudentClaimOrderStatus status: claimOrderStatus
        ) {
            if(status.getValue()==value){
                return status.getDesc();
            }
        }
        return null;
    }

    public int getValue() {
        return value;
    }

    public void setValue(int value) {
        this.value = value;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }

    @Override
    public String toString() {
        return "[" + this.value + "]" + this.desc;
    }
    
    public static void main(String[] args){
        System.out.println(getStatusValueByDesc("考试截图中"));
    }
}
